home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_08 / phillip2 / ilabel.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-24  |  24.6 KB  |  613 lines

  1.  
  2.     /************************************************
  3.     *
  4.     *   file d:\cips\ilabel.c
  5.     *
  6.     *   Functions: This file contains
  7.     *       main
  8.     *
  9.     *   Purpose:
  10.     *      This program writes simple block letters
  11.     *      the an image file.  You can use these
  12.     *      as labels for other images.
  13.     *
  14.     *   External Calls:
  15.     *      wtiff.c - create_allocate_tiff_file
  16.     *                read_tiff_image
  17.     *      gpcips.c - my_clear_text_screen
  18.     *
  19.     *   Modifications:
  20.     *      21 May 1993 - created
  21.     *
  22.     *************************************************/
  23.  
  24.  
  25. #include "cips.h"
  26.  
  27. #define R             9
  28. #define C             7
  29. #define COUNTER_LIMIT 8
  30. #define IE_START      7
  31. #define VAL         200
  32.  
  33. short image[ROWS][COLS];
  34.  
  35.          /******************************
  36.          *
  37.          *   Define all the 9x7 arrays
  38.          *   that contain the characters.
  39.          *
  40.          *******************************/
  41.  
  42. short aperiod[R][C] = {
  43.                    {  0,  0,  0,  0,  0,  0,  0},
  44.                    {  0,  0,  0,  0,  0,  0,  0},
  45.                    {  0,  0,  0,  0,  0,  0,  0},
  46.                    {  0,  0,  0,  0,  0,  0,  0},
  47.                    {  0,  0,  0,  0,  0,  0,  0},
  48.                    {  0,  0,  0,  0,  0,  0,  0},
  49.                    {  0,  0,VAL,VAL,  0,  0,  0},
  50.                    {  0,  0,VAL,VAL,  0,  0,  0},
  51.                    {  0,  0,  0,  0,  0,  0,  0}};
  52.  
  53. short acomma[R][C] = {
  54.                    {  0,  0,  0,  0,  0,  0,  0},
  55.                    {  0,  0,  0,  0,  0,  0,  0},
  56.                    {  0,  0,  0,  0,  0,  0,  0},
  57.                    {  0,  0,  0,  0,  0,  0,  0},
  58.                    {  0,  0,  0,  0,  0,  0,  0},
  59.                    {  0,  0,  0,  0,  0,  0,  0},
  60.                    {  0,  0,VAL,VAL,  0,  0,  0},
  61.                    {  0,  0,VAL,VAL,  0,  0,  0},
  62.                    {  0,  0,  0,VAL,  0,  0,  0}};
  63.  
  64. short aexclam[R][C] = {
  65.                    {  0,  0,  0,  0,  0,  0,  0},
  66.                    {  0,  0,  0,VAL,  0,  0,  0},
  67.                    {  0,  0,  0,VAL,  0,  0,  0},
  68.                    {  0,  0,  0,VAL,  0,  0,  0},
  69.                    {  0,  0,  0,VAL,  0,  0,  0},
  70.                    {  0,  0,  0,VAL,  0,  0,  0},
  71.                    {  0,  0,  0,  0,  0,  0,  0},
  72.                    {  0,  0,  0,VAL,  0,  0,  0},
  73.                    {  0,  0,  0,  0,  0,  0,  0}};
  74.  
  75. short xx[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  76.                    {  0,  0,  0,  0,  0,  0,  0},
  77.                    {  0,  0,  0,  0,  0,  0,  0},
  78.                    {  0,  0,  0,  0,  0,  0,  0},
  79.                    {  0,  0,  0,  0,  0,  0,  0},
  80.                    {  0,  0,  0,  0,  0,  0,  0},
  81.                    {  0,  0,  0,  0,  0,  0,  0},
  82.                    {  0,  0,  0,  0,  0,  0,  0},
  83.                    {  0,  0,  0,  0,  0,  0,  0}};
  84.  
  85. short aa[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  86.                    {  0,  0,  0,VAL,  0,  0,  0},
  87.                    {  0,  0,VAL,  0,VAL,  0,  0},
  88.                    {  0,VAL,  0,  0,  0,VAL,  0},
  89.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  90.                    {  0,VAL,  0,  0,  0,VAL,  0},
  91.                    {  0,VAL,  0,  0,  0,VAL,  0},
  92.                    {  0,VAL,  0,  0,  0,VAL,  0},
  93.                    {  0,  0,  0,  0,  0,  0,  0}};
  94.  
  95. short ab[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  96.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  97.                    {  0,VAL,  0,  0,  0,VAL,  0},
  98.                    {  0,VAL,  0,  0,  0,VAL,  0},
  99.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  100.                    {  0,VAL,  0,  0,  0,VAL,  0},
  101.                    {  0,VAL,  0,  0,  0,VAL,  0},
  102.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  103.                    {  0,  0,  0,  0,  0,  0,  0}};
  104.  
  105. short ac[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  106.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  107.                    {  0,VAL,  0,  0,  0,VAL,  0},
  108.                    {  0,VAL,  0,  0,  0,  0,  0},
  109.                    {  0,VAL,  0,  0,  0,  0,  0},
  110.                    {  0,VAL,  0,  0,  0,  0,  0},
  111.                    {  0,VAL,  0,  0,  0,VAL,  0},
  112.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  113.                    {  0,  0,  0,  0,  0,  0,  0}};
  114.  
  115. short ad[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  116.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  117.                    {  0,VAL,  0,  0,  0,VAL,  0},
  118.                    {  0,VAL,  0,  0,  0,VAL,  0},
  119.                    {  0,VAL,  0,  0,  0,VAL,  0},
  120.                    {  0,VAL,  0,  0,  0,VAL,  0},
  121.                    {  0,VAL,  0,  0,  0,VAL,  0},
  122.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  123.                    {  0,  0,  0,  0,  0,  0,  0}};
  124.  
  125. short ae[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  126.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  127.                    {  0,VAL,  0,  0,  0,  0,  0},
  128.                    {  0,VAL,  0,  0,  0,  0,  0},
  129.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  130.                    {  0,VAL,  0,  0,  0,  0,  0},
  131.                    {  0,VAL,  0,  0,  0,  0,  0},
  132.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  133.                    {  0,  0,  0,  0,  0,  0,  0}};
  134.  
  135. short af[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  136.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  137.                    {  0,VAL,  0,  0,  0,  0,  0},
  138.                    {  0,VAL,  0,  0,  0,  0,  0},
  139.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  140.                    {  0,VAL,  0,  0,  0,  0,  0},
  141.                    {  0,VAL,  0,  0,  0,  0,  0},
  142.                    {  0,VAL,  0,  0,  0,  0,  0},
  143.                    {  0,  0,  0,  0,  0,  0,  0}};
  144.  
  145. short ag[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  146.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  147.                    {  0,VAL,  0,  0,  0,VAL,  0},
  148.                    {  0,VAL,  0,  0,  0,  0,  0},
  149.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  150.                    {  0,VAL,  0,  0,  0,VAL,  0},
  151.                    {  0,VAL,  0,  0,  0,VAL,  0},
  152.                    {  0,  0,VAL,VAL,VAL,VAL,  0},
  153.                    {  0,  0,  0,  0,  0,  0,  0}};
  154.  
  155. short ah[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  156.                    {  0,VAL,  0,  0,  0,VAL,  0},
  157.                    {  0,VAL,  0,  0,  0,VAL,  0},
  158.                    {  0,VAL,  0,  0,  0,VAL,  0},
  159.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  160.                    {  0,VAL,  0,  0,  0,VAL,  0},
  161.                    {  0,VAL,  0,  0,  0,VAL,  0},
  162.                    {  0,VAL,  0,  0,  0,VAL,  0},
  163.                    {  0,  0,  0,  0,  0,  0,  0}};
  164.  
  165. short ai[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  166.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  167.                    {  0,  0,  0,VAL,  0,  0,  0},
  168.                    {  0,  0,  0,VAL,  0,  0,  0},
  169.                    {  0,  0,  0,VAL,  0,  0,  0},
  170.                    {  0,  0,  0,VAL,  0,  0,  0},
  171.                    {  0,  0,  0,VAL,  0,  0,  0},
  172.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  173.                    {  0,  0,  0,  0,  0,  0,  0}};
  174.  
  175. short aj[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  176.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  177.                    {  0,  0,  0,VAL,  0,  0,  0},
  178.                    {  0,  0,  0,VAL,  0,  0,  0},
  179.                    {  0,  0,  0,VAL,  0,  0,  0},
  180.                    {  0,VAL,  0,VAL,  0,  0,  0},
  181.                    {  0,VAL,  0,VAL,  0,  0,  0},
  182.                    {  0,  0,VAL,  0,  0,  0,  0},
  183.                    {  0,  0,  0,  0,  0,  0,  0}};
  184.  
  185. short ak[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  186.                    {  0,VAL,  0,  0,  0,VAL,  0},
  187.                    {  0,VAL,  0,  0,VAL,  0,  0},
  188.                    {  0,VAL,  0,VAL,  0,  0,  0},
  189.                    {  0,VAL,VAL,  0,  0,  0,  0},
  190.                    {  0,VAL,  0,VAL,  0,  0,  0},
  191.                    {  0,VAL,  0,  0,VAL,  0,  0},
  192.                    {  0,VAL,  0,  0,  0,VAL,  0},
  193.                    {  0,  0,  0,  0,  0,  0,  0}};
  194.  
  195. short al[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  196.                    {  0,VAL,  0,  0,  0,  0,  0},
  197.                    {  0,VAL,  0,  0,  0,  0,  0},
  198.                    {  0,VAL,  0,  0,  0,  0,  0},
  199.                    {  0,VAL,  0,  0,  0,  0,  0},
  200.                    {  0,VAL,  0,  0,  0,  0,  0},
  201.                    {  0,VAL,  0,  0,  0,  0,  0},
  202.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  203.                    {  0,  0,  0,  0,  0,  0,  0}};
  204.  
  205. short am[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  206.                    {  0,VAL,  0,  0,  0,VAL,  0},
  207.                    {  0,VAL,VAL,  0,VAL,VAL,  0},
  208.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  209.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  210.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  211.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  212.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  213.                    {  0,  0,  0,  0,  0,  0,  0}};
  214.  
  215. short an[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  216.                    {  0,VAL,  0,  0,  0,VAL,  0},
  217.                    {  0,VAL,VAL,  0,  0,VAL,  0},
  218.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  219.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  220.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  221.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  222.                    {  0,VAL,  0,  0,  0,VAL,  0},
  223.                    {  0,  0,  0,  0,  0,  0,  0}};
  224.  
  225. short ao[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  226.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  227.                    {  0,VAL,  0,  0,  0,VAL,  0},
  228.                    {  0,VAL,  0,  0,  0,VAL,  0},
  229.                    {  0,VAL,  0,  0,  0,VAL,  0},
  230.                    {  0,VAL,  0,  0,  0,VAL,  0},
  231.                    {  0,VAL,  0,  0,  0,VAL,  0},
  232.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  233.                    {  0,  0,  0,  0,  0,  0,  0}};
  234.  
  235. short ap[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  236.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  237.                    {  0,VAL,  0,  0,  0,VAL,  0},
  238.                    {  0,VAL,  0,  0,  0,VAL,  0},
  239.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  240.                    {  0,VAL,  0,  0,  0,  0,  0},
  241.                    {  0,VAL,  0,  0,  0,  0,  0},
  242.                    {  0,VAL,  0,  0,  0,  0,  0},
  243.                    {  0,  0,  0,  0,  0,  0,  0}};
  244.  
  245. short aq[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  246.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  247.                    {  0,VAL,  0,  0,  0,VAL,  0},
  248.                    {  0,VAL,  0,  0,  0,VAL,  0},
  249.                    {  0,VAL,  0,  0,  0,VAL,  0},
  250.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  251.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  252.                    {  0,  0,VAL,VAL,VAL,VAL,  0},
  253.                    {  0,  0,  0,  0,  0,  0,  0}};
  254.  
  255. short ar[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  256.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  257.                    {  0,VAL,  0,  0,  0,VAL,  0},
  258.                    {  0,VAL,  0,  0,  0,VAL,  0},
  259.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  260.                    {  0,VAL,  0,  0,  0,VAL,  0},
  261.                    {  0,VAL,  0,  0,  0,VAL,  0},
  262.                    {  0,VAL,  0,  0,  0,VAL,  0},
  263.                    {  0,  0,  0,  0,  0,  0,  0}};
  264. short as[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  265.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  266.                    {  0,VAL,  0,  0,  0,VAL,  0},
  267.                    {  0,VAL,  0,  0,  0,  0,  0},
  268.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  269.                    {  0,  0,  0,  0,  0,VAL,  0},
  270.                    {  0,VAL,  0,  0,  0,VAL,  0},
  271.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  272.                    {  0,  0,  0,  0,  0,  0,  0}};
  273.  
  274. short at[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  275.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  276.                    {  0,  0,  0,VAL,  0,  0,  0},
  277.                    {  0,  0,  0,VAL,  0,  0,  0},
  278.                    {  0,  0,  0,VAL,  0,  0,  0},
  279.                    {  0,  0,  0,VAL,  0,  0,  0},
  280.                    {  0,  0,  0,VAL,  0,  0,  0},
  281.                    {  0,  0,  0,VAL,  0,  0,  0},
  282.                    {  0,  0,  0,  0,  0,  0,  0}};
  283.  
  284. short au[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  285.                    {  0,VAL,  0,  0,  0,VAL,  0},
  286.                    {  0,VAL,  0,  0,  0,VAL,  0},
  287.                    {  0,VAL,  0,  0,  0,VAL,  0},
  288.                    {  0,VAL,  0,  0,  0,VAL,  0},
  289.                    {  0,VAL,  0,  0,  0,VAL,  0},
  290.                    {  0,VAL,  0,  0,  0,VAL,  0},
  291.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  292.                    {  0,  0,  0,  0,  0,  0,  0}};
  293.  
  294. short av[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  295.                    {  0,VAL,  0,  0,  0,VAL,  0},
  296.                    {  0,VAL,  0,  0,  0,VAL,  0},
  297.                    {  0,VAL,  0,  0,  0,VAL,  0},
  298.                    {  0,  0,VAL,  0,VAL,  0,  0},
  299.                    {  0,  0,VAL,  0,VAL,  0,  0},
  300.                    {  0,  0,VAL,  0,VAL,  0,  0},
  301.                    {  0,  0,  0,VAL,  0,  0,  0},
  302.                    {  0,  0,  0,  0,  0,  0,  0}};
  303.  
  304. short aw[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  305.                    {  0,VAL,  0,  0,  0,VAL,  0},
  306.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  307.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  308.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  309.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  310.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  311.                    {  0,  0,VAL,  0,VAL,  0,  0},
  312.                    {  0,  0,  0,  0,  0,  0,  0}};
  313.  
  314. short ax[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  315.                    {  0,VAL,  0,  0,  0,VAL,  0},
  316.                    {  0,VAL,  0,  0,  0,VAL,  0},
  317.                    {  0,  0,VAL,  0,VAL,  0,  0},
  318.                    {  0,  0,  0,VAL,  0,  0,  0},
  319.                    {  0,  0,VAL,  0,VAL,  0,  0},
  320.                    {  0,VAL,  0,  0,  0,VAL,  0},
  321.                    {  0,VAL,  0,  0,  0,VAL,  0},
  322.                    {  0,  0,  0,  0,  0,  0,  0}};
  323.  
  324. short ay[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  325.                    {  0,VAL,  0,  0,  0,VAL,  0},
  326.                    {  0,VAL,  0,  0,  0,VAL,  0},
  327.                    {  0,  0,VAL,  0,VAL,  0,  0},
  328.                    {  0,  0,  0,VAL,  0,  0,  0},
  329.                    {  0,  0,  0,VAL,  0,  0,  0},
  330.                    {  0,  0,  0,VAL,  0,  0,  0},
  331.                    {  0,  0,  0,VAL,  0,  0,  0},
  332.                    {  0,  0,  0,  0,  0,  0,  0}};
  333.  
  334. short az[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  335.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  336.                    {  0,  0,  0,  0,  0,VAL,  0},
  337.                    {  0,  0,  0,  0,VAL,  0,  0},
  338.                    {  0,  0,  0,VAL,  0,  0,  0},
  339.                    {  0,  0,VAL,  0,  0,  0,  0},
  340.                    {  0,VAL,  0,  0,  0,  0,  0},
  341.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  342.                    {  0,  0,  0,  0,  0,  0,  0}};
  343.  
  344. short a1[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  345.                    {  0,  0,  0,VAL,  0,  0,  0},
  346.                    {  0,  0,VAL,VAL,  0,  0,  0},
  347.                    {  0,VAL,  0,VAL,  0,  0,  0},
  348.                    {  0,  0,  0,VAL,  0,  0,  0},
  349.                    {  0,  0,  0,VAL,  0,  0,  0},
  350.                    {  0,  0,  0,VAL,  0,  0,  0},
  351.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  352.                    {  0,  0,  0,  0,  0,  0,  0}};
  353.  
  354. short a2[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  355.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  356.                    {  0,VAL,  0,  0,  0,VAL,  0},
  357.                    {  0,  0,  0,  0,VAL,  0,  0},
  358.                    {  0,  0,  0,VAL,  0,  0,  0},
  359.                    {  0,  0,VAL,  0,  0,  0,  0},
  360.                    {  0,VAL,  0,  0,  0,  0,  0},
  361.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  362.                    {  0,  0,  0,  0,  0,  0,  0}};
  363.  
  364. short a3[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  365.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  366.                    {  0,VAL,  0,  0,  0,VAL,  0},
  367.                    {  0,  0,  0,  0,  0,VAL,  0},
  368.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  369.                    {  0,  0,  0,  0,  0,VAL,  0},
  370.                    {  0,VAL,  0,  0,  0,VAL,  0},
  371.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  372.                    {  0,  0,  0,  0,  0,  0,  0}};
  373.  
  374. short a4[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  375.                    {  0,VAL,  0,VAL,  0,  0,  0},
  376.                    {  0,VAL,  0,VAL,  0,  0,  0},
  377.                    {  0,VAL,  0,VAL,  0,  0,  0},
  378.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  379.                    {  0,  0,  0,VAL,  0,  0,  0},
  380.                    {  0,  0,  0,VAL,  0,  0,  0},
  381.                    {  0,  0,  0,VAL,  0,  0,  0},
  382.                    {  0,  0,  0,  0,  0,  0,  0}};
  383.  
  384. short a5[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  385.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  386.                    {  0,VAL,  0,  0,  0,  0,  0},
  387.                    {  0,VAL,  0,  0,  0,  0,  0},
  388.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  389.                    {  0,  0,  0,  0,  0,VAL,  0},
  390.                    {  0,VAL,  0,  0,  0,VAL,  0},
  391.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  392.                    {  0,  0,  0,  0,  0,  0,  0}};
  393.  
  394. short a6[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  395.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  396.                    {  0,VAL,  0,  0,  0,VAL,  0},
  397.                    {  0,VAL,  0,  0,  0,  0,  0},
  398.                    {  0,VAL,VAL,VAL,VAL,  0,  0},
  399.                    {  0,VAL,  0,  0,  0,VAL,  0},
  400.                    {  0,VAL,  0,  0,  0,VAL,  0},
  401.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  402.                    {  0,  0,  0,  0,  0,  0,  0}};
  403.  
  404. short a7[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  405.                    {  0,VAL,VAL,VAL,VAL,VAL,  0},
  406.                    {  0,  0,  0,  0,  0,VAL,  0},
  407.                    {  0,  0,  0,  0,  0,VAL,  0},
  408.                    {  0,  0,  0,  0,VAL,  0,  0},
  409.                    {  0,  0,  0,VAL,  0,  0,  0},
  410.                    {  0,  0,VAL,  0,  0,  0,  0},
  411.                    {  0,VAL,  0,  0,  0,  0,  0},
  412.                    {  0,  0,  0,  0,  0,  0,  0}};
  413.  
  414. short a8[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  415.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  416.                    {  0,VAL,  0,  0,  0,VAL,  0},
  417.                    {  0,VAL,  0,  0,  0,VAL,  0},
  418.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  419.                    {  0,VAL,  0,  0,  0,VAL,  0},
  420.                    {  0,VAL,  0,  0,  0,VAL,  0},
  421.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  422.                    {  0,  0,  0,  0,  0,  0,  0}};
  423.  
  424. short a9[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  425.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  426.                    {  0,VAL,  0,  0,  0,VAL,  0},
  427.                    {  0,VAL,  0,  0,  0,VAL,  0},
  428.                    {  0,  0,VAL,VAL,VAL,VAL,  0},
  429.                    {  0,  0,  0,  0,  0,VAL,  0},
  430.                    {  0,  0,  0,  0,  0,VAL,  0},
  431.                    {  0,  0,  0,  0,  0,VAL,  0},
  432.                    {  0,  0,  0,  0,  0,  0,  0}};
  433.  
  434. short a0[R][C] = { {  0,  0,  0,  0,  0,  0,  0},
  435.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  436.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  437.                    {  0,VAL,  0,  0,VAL,VAL,  0},
  438.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  439.                    {  0,VAL,  0,VAL,  0,VAL,  0},
  440.                    {  0,VAL,VAL,  0,  0,VAL,  0},
  441.                    {  0,  0,VAL,VAL,VAL,  0,  0},
  442.                    {  0,  0,  0,  0,  0,  0,  0}};
  443.  
  444.  
  445.  
  446. main(argc, argv)
  447.    int  argc;
  448.    char *argv[];
  449. {
  450.    int    l=1, w=1;
  451.    int    counter=0, i, j, il, ie=7, ll, le;
  452.    struct tiff_header_struct image_header;
  453.  
  454.    my_clear_text_screen();
  455.  
  456.    if(argc < 4){
  457.       printf("\n usage: ilabel file-name il text\n");
  458.       exit(-1);
  459.    }
  460.  
  461.          /******************************
  462.          *
  463.          *   Setup the output file.
  464.          *
  465.          *******************************/
  466.  
  467.    image_header.lsb            = 1;
  468.    image_header.bits_per_pixel = 8;
  469.    image_header.image_length   = l*ROWS;
  470.    image_header.image_width    = w*COLS;;
  471.    image_header.strip_offset   = 1000;
  472.  
  473.    if(does_not_exist(argv[1]))
  474.       create_allocate_tiff_file(argv[1], 
  475.                                 &image_header, 
  476.                                 image);
  477.    else
  478.       read_tiff_image(argv[1], image, 1, 1, 
  479.                       ROWS, COLS);
  480.  
  481.    il = atoi(argv[2]);
  482.  
  483.          /******************************
  484.          *
  485.          *   Loop through the text
  486.          *   arguments and place the
  487.          *   letter arrays into the
  488.          *   image.
  489.          *
  490.          *******************************/
  491.  
  492.    printf("\n");
  493.    for(i=3; i<argc; i++){
  494.       for(j=0; j<(strlen(argv[i])); j++){
  495.  
  496.          printf("%c", argv[i][j]);
  497.          if(argv[i][j] == 'a')
  498.             copy_array_into_image(aa, image, il, ie);
  499.          if(argv[i][j] == 'b')
  500.             copy_array_into_image(ab, image, il, ie);
  501.          if(argv[i][j] == 'c')
  502.             copy_array_into_image(ac, image, il, ie);
  503.          if(argv[i][j] == 'd')
  504.             copy_array_into_image(ad, image, il, ie);
  505.          if(argv[i][j] == 'e')
  506.             copy_array_into_image(ae, image, il, ie);
  507.          if(argv[i][j] == 'f')
  508.             copy_array_into_image(af, image, il, ie);
  509.          if(argv[i][j] == 'g')
  510.             copy_array_into_image(ag, image, il, ie);
  511.          if(argv[i][j] == 'h')
  512.             copy_array_into_image(ah, image, il, ie);
  513.          if(argv[i][j] == 'i')
  514.             copy_array_into_image(ai, image, il, ie);
  515.          if(argv[i][j] == 'j')
  516.             copy_array_into_image(aj, image, il, ie);
  517.          if(argv[i][j] == 'k')
  518.             copy_array_into_image(ak, image, il, ie);
  519.          if(argv[i][j] == 'l')
  520.             copy_array_into_image(al, image, il, ie);
  521.          if(argv[i][j] == 'm')
  522.             copy_array_into_image(am, image, il, ie);
  523.          if(argv[i][j] == 'n')
  524.             copy_array_into_image(an, image, il, ie);
  525.          if(argv[i][j] == 'o')
  526.             copy_array_into_image(ao, image, il, ie);
  527.          if(argv[i][j] == 'p')
  528.             copy_array_into_image(ap, image, il, ie);
  529.          if(argv[i][j] == 'q')
  530.             copy_array_into_image(aq, image, il, ie);
  531.          if(argv[i][j] == 'r')
  532.             copy_array_into_image(ar, image, il, ie);
  533.          if(argv[i][j] == 's')
  534.             copy_array_into_image(as, image, il, ie);
  535.          if(argv[i][j] == 't')
  536.             copy_array_into_image(at, image, il, ie);
  537.          if(argv[i][j] == 'u')
  538.             copy_array_into_image(au, image, il, ie);
  539.          if(argv[i][j] == 'v')
  540.             copy_array_into_image(av, image, il, ie);
  541.          if(argv[i][j] == 'w')
  542.             copy_array_into_image(aw, image, il, ie);
  543.          if(argv[i][j] == 'x')
  544.             copy_array_into_image(ax, image, il, ie);
  545.          if(argv[i][j] == 'y')
  546.             copy_array_into_image(ay, image, il, ie);
  547.          if(argv[i][j] == 'z')
  548.             copy_array_into_image(az, image, il, ie);
  549.          if(argv[i][j] == '1')
  550.             copy_array_into_image(a1, image, il, ie);
  551.          if(argv[i][j] == '2')
  552.             copy_array_into_image(a2, image, il, ie);
  553.          if(argv[i][j] == '3')
  554.             copy_array_into_image(a3, image, il, ie);
  555.          if(argv[i][j] == '4')
  556.             copy_array_into_image(a4, image, il, ie);
  557.          if(argv[i][j] == '5')
  558.             copy_array_into_image(a5, image, il, ie);
  559.          if(argv[i][j] == '6')
  560.             copy_array_into_image(a6, image, il, ie);
  561.          if(argv[i][j] == '7')
  562.             copy_array_into_image(a7, image, il, ie);
  563.          if(argv[i][j] == '8')
  564.             copy_array_into_image(a8, image, il, ie);
  565.          if(argv[i][j] == '9')
  566.             copy_array_into_image(a9, image, il, ie);
  567.          if(argv[i][j] == '0')
  568.             copy_array_into_image(a0, image, il, ie);
  569.          if(argv[i][j] == '.')
  570.             copy_array_into_image(aperiod,image,il,ie);
  571.          if(argv[i][j] == ',')
  572.             copy_array_into_image(acomma,image,il,ie);
  573.          if(argv[i][j] == '!')
  574.             copy_array_into_image(aexclam,image,il,ie);
  575.  
  576.  
  577.          ie = ie + C;
  578.          counter++;
  579.          if(counter > COUNTER_LIMIT){
  580.             ie      = IE_START;
  581.             il      = il+R+1;
  582.             counter = 0;
  583.          }
  584.       }  /* ends loop over letters in argument */
  585.          copy_array_into_image(xx, image, il, ie);
  586.          ie = ie + C;
  587.          counter++;
  588.          if(counter > COUNTER_LIMIT){
  589.             ie      = IE_START;
  590.             il      = il+R+1;
  591.             counter = 0;
  592.          }
  593.    }  /* ends loop over arguments */
  594.  
  595.    il = 1;
  596.    ie = 1;
  597.    write_array_into_tiff_image(argv[1], image,
  598.                                il, ie,
  599.                                il+ROWS, ie+COLS);
  600. }
  601.  
  602.  
  603. copy_array_into_image(a, the_image, il, ie)
  604.    short a[R][C], the_image[ROWS][COLS];
  605.    int   il, ie;
  606. {
  607.    int i, j;
  608.    for(i=0; i<R; i++)
  609.       for(j=0; j<C; j++)
  610.          the_image[il+i][ie+j] = a[i][j];
  611.  
  612. }  /* ends copy_array_into_image */
  613.